Method and system for managing images and geographic location data in a mobile device

ABSTRACT

A method and system for managing images and associated geographic location data in a mobile device uses an integrated camera to generate one or more images. After generating an image, the system determines a geographic location associated with the image. The system then stores the image, the associated geographic location data, and a record of the association in the mobile device&#39;s storage component. The system may also associate supplemental information, such as telephone number, category, and street address, with the image. The system provides one or more display modes for displaying the image and the associated information. The display modes may include a list mode for displaying multiple images and portions of the associated data and a detail mode for displaying a selected image and the full set of associated data. The system may also provide a map display mode for displaying locations associated with one or more images on a map of a geographical area.

BACKGROUND

As mobile technology improves, mobile devices have become smaller andmore powerful. The wireless networks they connect to have improved, aswell. These improvements mean that mobile devices can now connect tonetworks for many functions beyond simple voice calling. For example,they can be used to send e-mail, browse the Internet, and send instantmessages. Many devices also include a Global Positioning System (GPS)receiver with integrated mapping (or maps downloaded from a network). Insome cases, the mobile devices support wireless standards providinglocal connectivity, such as Bluetooth or IEEE 802.11. These standardscan enable the devices to connect to a WLAN or even communicate withother mobile devices in a peer-to-peer mode. Many mobile devices alsoinclude an integrated camera that allows a user to take pictures orrecord video. As technology improves, it would be useful to haveapplications that are better able to make use of these increasedcapabilities.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a front view of a mobile device suitable for implementing animage location system.

FIG. 2 is a network diagram of a representative environment in which theimage location system operates.

FIG. 3 is a high-level block diagram showing an example of thearchitecture of a mobile device.

FIG. 4A shows an example interface in which a default startup screen isdisplayed.

FIG. 4B shows an example interface for displaying multiple images in alist mode.

FIG. 4C shows an example interface for displaying a category view of theimages stored by the system.

FIG. 4D shows an example interface for displaying a first detail view ofan image.

FIG. 4E shows an example interface for displaying a second detail viewof a selected image.

FIG. 4F shows an example interface for displaying a mapping modeassociated with a selected image.

FIG. 4G shows an alternate interface for displaying a detail view of aselected image.

FIG. 5 is a logical block diagram of the image location system shown inFIG. 3.

FIG. 6A is a flowchart of a process for storing a new image by the imagelocation system.

FIG. 6B is a flowchart of a process for associating supplementalinformation with a received image.

FIG. 7 is a flowchart of a process for processing commands in a listmode or detail mode of the image location system.

DETAILED DESCRIPTION

A system for managing images and associated geographic location data ina mobile device is disclosed (hereinafter referred to as the “imagelocation system” or the “system”). The mobile device uses an integratedcamera to generate one or more images. After generating an image, thesystem determines a geographic location associated with the image. Thesystem may do so using a built-in GPS receiver or using other methods,such as triangulation based on the mobile device's proximity to one ormore mobile network base stations. The system then stores the image, theassociated geographic location data, and a record of the association inthe mobile device's storage component. The system may also associatesupplemental information, such as telephone number, category, and streetaddress, with the image.

The system provides one or more display modes for displaying the imageand the associated information. The display modes may include a listmode for displaying multiple images and portions of their associateddata and a detail mode for displaying a selected image and the full setof associated data. The system may also provide a map display mode fordisplaying locations associated with one or more images on a map of ageographical area. The system may also provide a search function toenables a user to find images based on the geographic location or thesupplemental information.

Various embodiments of the application will now be described. Thefollowing description provides specific details for a thoroughunderstanding and an enabling description of these embodiments. Oneskilled in the art will understand, however, that the application may bepracticed without many of these details. Additionally, some well-knownstructures or functions may not be shown or described in detail, so asto avoid unnecessarily obscuring the relevant description of the variousembodiments. The terminology used in the description presented below isintended to be interpreted in its broadest reasonable manner, eventhough it is being used in conjunction with a detailed description ofcertain specific embodiments of the application.

FIG. 1 is a front view of a mobile device 100 suitable for implementingan image location system. As shown in FIG. 1, the mobile device 100 mayinclude a housing 101, a plurality of push buttons 102, a directionalkeypad 104 (e.g., a five-way key), a microphone 105, a speaker 106, acamera 108, and a display 110 carried by the housing 101. The mobiledevice 100 may also include microphones, transceivers, photo sensors,and/or other computing components generally found in PDA devices,cellular phones, laptop computers, tablet PCs, smart phones, hand-heldemail devices, or other mobile communication/computing devices.

The display 110 may include a liquid-crystal display (LCD), a plasmadisplay, a vacuum fluorescent display, a light-emitting diode (LED)display, a field emission display, and/or other suitable types ofdisplay configured to present a user interface. The mobile device 100may also include a touch sensing component 109 configured to receiveinput from a user. For example, the touch sensing component 109 mayinclude a resistive, capacitive, infrared, surface acoustic wave (SAW),and/or other types of touch screen. The touch sensing component 109 maybe integrated with the display 110 or may be independent from thedisplay 110. In the illustrated embodiment, the touch sensing component109 and the display 110 have generally similarly sized access areas. Inother embodiments, the touch sensing component 109 and the display 110may have differently sized access areas. For example, the touch sensingcomponent 109 may have an access area that extends beyond a boundary ofthe display 110.

The mobile device 100 may also include a camera 108 suitable for takingpictures or recording video. The camera 108 includes an optical imagesensor and a lens, and may also have a flash associated with it fortaking pictures in low-light conditions. Although the camera component108 is shown on the front face of the mobile device 100, the cameracomponent 108 could also be located on the rear face of the device.Alternatively, the mobile device 100 might be configured with multiplecameras, such as with a first camera on the front face and a secondcamera on the back face.

FIG. 2 is a network diagram of a representative environment 200 in whichthe image location system operates. A plurality of mobile devices 202and 203 roam in an area covered by a wireless network. The mobiledevices are, for example, cellular phones or mobile Internet devices,such as the mobile device 100 shown in FIG. 1. The mobile devices 202and 203 communicate to a cellular transceiver 210 through a wirelessconnection 206. The wireless connection 206 could be implemented usingany system for transmitting digital data. For example, the connectioncould use a cellular network implementing GSM, UMTS, or CDMA2000 or anon-cellular network implementing WiFi (IEEE 802.11) or Bluetooth.Although wireless connections are most common for these mobile devices,the devices may also communicate using a wired connection such asEthernet.

In some configurations, the mobile device 202 also has a GlobalPositioning System (GPS) receiver embedded in it to provide locationinformation. In these configurations, the mobile device 202 alsoreceives a location signal 208 from one or more GPS satellites 204. Forclarity, the figure only shows one satellite. However, a GPS receivergenerally requires several satellites in order to determine itslocation. Alternatively or additionally, the cellular transceiver 210may, with assistance from the mobile device 202, employ known signaltriangulation and/or signal delay techniques to determine a location ofeach wireless device.

The cellular transceiver 210 is connected to one or more networks thatprovide backhaul service for the wireless network. The cellulartransceiver 210 is connected to the Public-Switched Telephone Network(PSTN) 212, which provides a connection between the mobile network and aremote telephone 216 on another network. When the user of the mobiledevice 202 makes a voice telephone call, the cellular transceiver 210routes the call through the wireless network's voice backhaul (notshown) to the PSTN 212. The PSTN 212 then automatically connects thecall to the remote telephone 216. If the remote telephone 216 is anothermobile device, the call is routed through a second wireless networkbackhaul to another cellular transceiver.

The cellular transceiver 210 is also connected to the Internet 214,which provides a packet-based connection to remote devices 218supporting network applications. When the user of the mobile device 202communicates through a data connection, the cellular transceiver routesthe packet data through the wireless network's data backhaul (not shown)to the Internet 214 (or another packet-based network). The Internetconnects the wireless network to remote devices 218, including an e-mailserver 220, a web server 222, and an instant messenger server 224. Ofcourse, the remote devices 218 may include any application availableover the Internet, such as a file transfer protocol (FTP) server or astreaming media server.

FIG. 3 is a high-level block diagram showing an example of thearchitecture of a mobile device 300. The mobile device 300 may representthe mobile device 202 of FIG. 2.

The mobile device 300 includes one or more processors 302 and memory 304coupled to an interconnect 306. The interconnect 306 shown in FIG. 3 isan abstraction that represents any one or more separate physical buses,point-to-point connections, or both connected by appropriate bridges,adapters, or controllers. The interconnect 306, therefore, may include,for example, a system bus, a Peripheral Component Interconnect (PCI)family bus, a HyperTransport or Industry Standard Architecture (ISA)bus, a Small Computer System Interface (SCSI) bus, a Universal SerialBus (USB), IIC (I2C) bus, or an Institute of Electrical and ElectronicsEngineers (IEEE) standard 1394 bus, sometimes referred to as “Firewire”.

The processor(s) 302 may include central processing units (CPUs) of themobile device 300 and, thus, control the overall operation of the mobiledevice 300. In certain embodiments, the processor(s) 302 accomplish thisby executing software or firmware stored in memory 304. The processor(s)302 may be, or may include, one or more programmable general-purpose orspecial-purpose microprocessors, digital signal processors (DSPs),programmable controllers, application specific integrated circuits(ASICs), programmable logic devices (PLDs), or the like, or acombination of such devices.

The memory 304 is or includes the main memory of the mobile device 300.The memory 304 represents any form of fixed or removable random accessmemory (RAM), read-only memory (ROM), flash memory, or the like, or acombination of such devices. In use, the memory 304 stores, among otherthings, the operating system 308 of the mobile device 300.

The mobile device 300 includes an input device 312, which enables a userto control the device. The input device 312 may include a keyboard,trackpad, touch-sensitive screen, or other standard computer inputdevice. The mobile device 300 also includes a display device 314suitable for displaying a user interface, such as the display 110 (FIG.1). The network adapter 314 provides the mobile device 300 with theability to communicate with remote devices over a network and may be,for example, a wireless adapter. The mobile device 300 may furtherinclude local storage 310 coupled to the interconnect 306. The localstorage 310 may include, for example, a flash memory device configuredto provide mass storage.

FIGS. 4A through 4F illustrate screens of an example interface suitablefor use by the image location system. FIG. 4A shows an example interface400 in which a default startup screen is displayed. The default startupinterface 400 shows a first image 402 that has been stored by theapplication. The interface 400 also includes a navigation component 404,which enables a user to navigate among the images that have been storedby the application. The interface 400 also includes multiple controlbuttons in a control bar 406 located below the first image 402. Thebuttons in the bar 406 may be selected using a touch-sensitive screen orother input device. The interface 400 also includes soft keys 408 and410, which are used to control specific aspects of the application. Thesoft keys 408 and 410 may be controlled using the touch-sensitive screenor dedicated hardware buttons. The contents of the menu displayed inresponse to a user selecting the menu button 410 may be contextsensitive and thus may vary depending on the current configuration ofthe interface.

FIG. 4B shows an example interface 415 for displaying multiple images ina list mode. The interface 415 may be displayed, for example, inresponse to a user selecting the button 408 displayed in FIG. 4A. Theitem list 416 displays multiple thumbnail images 418 stored by thesystem and portions of the associated supplemental information 420. Forexample, the interface 415 displays the description information, streetaddress, date, and time associated with each image. The interface 415may also include a scrollbar or other navigation component (not shown)if not all images can be displayed in a single screen. The interface 415also includes soft keys 422 and 410.

FIG. 4C shows an example interface 425 for displaying a category view ofthe images stored by the system. The interface 430 includes a categorylist 426, which displays a list of categories 428 that can be used tosort the images stored by the system. The interface 425 may beconfigured with a standard set of categories, such as the categoriesshown in FIG. 4C. Alternatively, the interface 425 may allow a user toadd new categories to the list.

FIG. 4D shows an example interface 430 for displaying a first detailview of an image. The interface 430 may be automatically displayed inresponse to a new image being received from the camera 108 or thenetwork or in response to a user selecting an image for display. Theinterface 430 displays the image 432 and portions of the associatedsupplemental information 434, including the description information andthe date on which the image was received. The interface 430 alsoincludes a GPS indicator 438 to indicate whether a GPS location wasprovided for the image 432. The interface 430 may also include an editbutton 440, which is selected to enter an editing mode to edit thesupplemental information, and a record button 442, which is selected torecord new audio data to associate with the image 432. The supplementalinformation 434 may also include a playback button 436, which may beselected by the user to play the contents of audio data associated withthe image. The interface 430 has soft keys 444 and 446, which enable theuser to save or cancel (respectively) changes.

FIG. 4E shows an example interface 450 for displaying a second detailview of an image selected from the initial interface 400 shown in FIG.4A or the item list 416 shown in FIG. 4B. The interface 450 displaysvarious types of supplemental information, including descriptioninformation 452, category 454 (shown as an icon), date and time 456,telephone number 458, street address 460, notes 462, and geographiclocation 464. The interface 450 also includes function buttons 466-472,which execute functions based on the supplemental information 452-464.For example, selecting the telephone function button 466 causes thesystem to initiate a telephone call using the stored telephone number458. Similarly, selecting the mapping button 468 causes the system tolaunch a mapping mode based on the geographic location 464 (discussedbelow). Selecting the navigation button 470 launches a navigationprogram to provide directions to the geographic location 464. Selectingthe playback button 472 plays the contents of audio data associated withthe image.

FIG. 4F shows an example interface 474 for displaying a mapping modeassociated with a selected image. The interface 474 may be displayed,for example, in response to a user selecting mapping button 468 from theinterface 450 in FIG. 4E. The interface 474 displays a map 475 of ageographical area, which may be provided by a standard mapping or GISservice, including databases stored locally or accessed using a networkconnection (e.g. Google Maps or Microsoft Live Maps). The interface 474provides a geographic indicator 476, which is placed at a location onthe map corresponding to the geographic location 464 associated with aselected image. The interface 476 also includes an information bubble478, which displays supplemental information, such as the geographiclocation, the street address, or the telephone number. The mapping modemay also display locations associated with multiple images stored by thesystem using multiple geographic indicators 476 and information bubbles478.

FIG. 4G shows an alternate interface 480 for displaying a detail view ofa selected image. The alternate interface 480 presents much of the sameinformation as in the previous example interfaces shown in FIGS. 4E and4F, including description information 454, street address 460, telephonenumber 458, geographical location 464, and date and time 456. Theinterface 480 also displays additional information, including networklocation 482, which can be used to show a URL or other address formatsuitable to direct a user to a web page or other network informationresource. The interface 480 also displays an accuracy rating 484, whichdisplays the system's estimate of the accuracy of the geographiclocation data. The interface 480 also includes a user opinion rating486, which enables a user to provide a rating on the image's quality orimportance. The interface 480 also includes a map area to display a map475 of a geographic area similar to the map displayed in FIG. 4F. Themap area includes a geographic indicator 476 and an information bubble478.

FIG. 5 is a logical block diagram of the image location system 500. Thesystem 500 may be executed, for example, using the memory and processorof FIG. 3. Although the various modules are depicted in a single device,the modules are not necessarily physically collocated. In someembodiments, the various modules may be distributed over multiplephysical devices. Similarly, the data storage could be implemented usinglocal storage components, such as a hard drive or flash memory, or usingremote storage, such as a web server accessible through the internet.The code to support the functionality of this system may be stored on acomputer readable medium such as an optical drive, flash memory, or ahard drive. Aspects of the system 500 may be implemented as software,firmware, hardware, or as a combination of these.

The system 500 includes processing component 502, which is configured tomanage images and other information handled by the system. Theprocessing component 502 is connected to a data storage component 504,which stores images, geographic location data, and supplementalinformation processed by the system. The data storage component 504 mayalso store configuration and settings information. The processingcomponent 502 is connected to a camera component 506, which providesimages to be managed by the system 500. The camera component 506 may beintegrated with the mobile device, as shown in FIG. 1. However, thecamera component 506 may also be a separate device configured tocommunicate with the mobile device using, e.g. a wireless Bluetoothconnection. The processing component 502 is also connected to a networkconnection component 508, which provides a connection to a mobilewireless network. The processing component 502 is also connected to alocation component 510, which is configured to generate data indicatingthe current geographic location of the mobile device. In someconfigurations, the location component 510 includes a GPS receiver,which is configured to use signals from one or more GPS satellites todetermine a geographic location of the device. The location component510 may also be configured to determine the geographic location based onthe device's proximity to one or more cellular network transceivers orwireless hotspots or using other well-known methods. The locationcomponent 510 may also be configured to present the user with agraphical interface and determine the geographic location based on userinput. For example, the location component 510 may provide a map anddetermine the geographic location based on the user selecting a locationon the map.

The processing component 502 is also connected to an input component 514that is configured to receive user input through an input device 312,such as a touch-sensitive screen. The processing component also connectsto a display component 512, which is configured to control the screen ofthe mobile device as directed by the processing component 502.

The processing component 502 includes a location association component516, which is configured to determine an association between a receivedimage and a geographic location. During operation, the locationassociation component 516 receives an image from the camera component506 and geographic location data from the location component 510. Thelocation association component 516 then stores the image, the geographiclocation data, and information indicating the association in the datastorage component 504.

The processing component 502 also includes a supplemental informationcomponent 518, which is configured to receive and process supplementalinformation to be associated with an image received from the cameracomponent 506. The supplemental information may be received from variouscomponents in the system, such as the input component 514 or thelocation component 510. For example, the user may use the inputcomponent 514 to provide description, telephone number, street address,or network address. The location component 510 may provide othersupplemental information, such as an accuracy index indicating theestimated accuracy of the geographic location determined by the locationcomponent 510. Other supplemental information, such as the date and timeassociated with a received image, may be provided directly by the cameracomponent 506.

The processing component 502 includes an association display component520, which is configured to control the display component 512 to displaystored image, geographic information data, and portions of thesupplemental information. Thus, the association display component 520may control the system 500 to display multiple images and associateddata in a list mode or to display a single image and associated data ina detail mode.

The processing component 502 also includes a map display component 522,which controls the system 500 to display a mapping mode interface suchas the interface shown in FIG. 4F. The map display component 522 usesimage information, geographic location data, and supplementalinformation to configure the map display. In addition, the map displaycomponent 522 uses map information received from a map database storedlocally on the device or provided through the network connection 508.The map display component 522 then controls the display component 512 todisplay the selected map and a portion of the data stored by the storagecomponent 504 (e.g. description information, street address, etc.). Themap display component 522 may also be configured to change the mapdisplay in response to move and zoom commands received through the inputcomponent 514. The association display component 520 and the map displaycomponent may operate separately to display interfaces such as theinterfaces in FIGS. 4B and 4E or simultaneously to display a combinedinterface such as the interface shown in FIG. 4G. The map displaycomponent 522 may also be configured to display points of interestnearby the geographic location of the selected image. For example, themap display component 522 may display indicators of restaurants, hotels,or landmarks near the geographic location.

The processing component also includes a connection component 524, whichis configured to connect the system 500 to outside devices. For example,the connection component 524 may be configured to initiate a telephonecall from the mobile device using a telephone number present in thesupplemental information. The connection component 524 may also transmitan image and its associated data (e.g geographic location data) using anHTML document, Multimedia Messaging Service (MMS), or e-mail.

FIG. 6A is a flowchart of a process 600 for storing a new image by theimage location system. The process 600 may be initiated manually inresponse to a command from the user or automatically based on settingsstored in the mobile device. For example, the mobile device may beconfigured to automatically launch the image location system when a newimage is taken by the camera component 506.

The process begins at block 602, where the system receives a new imagefrom the camera component 506 or from another source using the networkconnection 508. The system then proceeds to block 604, where it storesthe image. After receiving and storing a new image, processing proceedsto block 606, where the system generates new geographic location data toassociate with the new image. The new geographic location data may begenerated using any of the methods discussed above, such as using anintegrated location component or receiving information from a userdefining a location. After the geographic location data has beengenerated, processing proceeds to block 608, where the system stores anassociation between the new image and the geographic location data.After storing the location association, the system proceeds to block610, where it associates supplemental information with the new image.The process of associating supplemental information is discussed ingreater detail below with reference to FIG. 6B.

After associating supplemental information, the system proceeds todecision block 612, where it determines whether a new image is availablefor processing. If a new image is available for processing, processingreturns to block 602, where the system processes the new image. If a newimage is not available, the process ends. The decision in block 612 maybe automatic or based on a user response to a query presented by thesystem.

FIG. 6B is a flowchart of a process 640 for associating supplementalinformation with a received image. It will be appreciated that a usermay elect to associate all or some of the supplemental information withthe selected image. Thus, the system may implement part or all of theprocess 640.

The process begins at decision block 642, where the system determineswhether description information has been provided. This step is used toensure that an appropriate identifier is assigned to the image beingprocessed by automatically assigning description information if the userdoes not provide it. If the system determines that descriptioninformation has been provided, the system proceeds to block 644, whereit receives the provided description information. If descriptioninformation was not provided, the system proceeds to block 646, where itautomatically generates the description information. The system mayautomatically determine the description by using other providedinformation, such as the current geographic location of the mobiledevice (e.g. the name of the city associated with the current geographiclocation) or country information stored on the mobile device. Thecountry information may be determined, for example, based on a mobilecountry code stored on a Subscriber Information Module (SIM) or othermemory component present in the mobile device.

After determining the description information, the system proceeds toblock 648, where it receives a telephone number from the user. Thesystem then proceeds to block 650, where it receives categoryinformation from the user. As discussed above, the categories may bechosen from a predetermined list of categories or may be configurable bythe user.

After receiving category information, the system proceeds to block 652,where it receives a street address. The street address may be providedby the user or may be automatically determined based on the geographiclocation using mapping software or a mapping server providing ReverseGeocoding service (e.g. Google Maps service provided by Google, Inc. ofMountain View, Calif.). The system then proceeds to block 654, where itreceives network location data, such as a URL. The network location maybe, for example, a web page associated with a business located at thegeographic location. Thus, if the image is taken at a particularrestaurant, the network location could be the website of the restaurant.

The system then proceeds to block 656, where it receives audio data toassociate with the image. The audio data may be received, for example,from a user speaking into the microphone of the mobile phone. Afterreceiving audio data, the system proceeds to block 658, where itreceives a user opinion rating. The user opinion rating may be providedas, for example, a star rating from one to five stars. The system thenproceeds to block 660, where it determines an accuracy index toassociate with the image. As noted above, the accuracy index isgenerally generated automatically by the location component 510 and maybe determined based on the method used to determine the location. Thus,the system may provide a higher accuracy index if the location wasprovided by a GPS receiver than if the location was determined based onproximity to cellular network transceivers. The system may also providea higher accuracy if the location signal received from the GPSsatellites is strong and a lower accuracy if the location signal isweak.

The system then proceeds to block 662, where it indexes and stores thesupplemental information. The indexing step may be used, for example, tosupport search functionality provided by the system. For example, thesystem in step 662 may generate a list of key words associated with theimage and the supplemental information.

FIG. 7 is a flowchart of a process 700 for processing commands in a listmode or detail mode of the image location system. Processing begins inblock 702, where the system launches in a default mode. The default modemay be, for example, the initial selection interface 400 as shown inFIG. 4A. Alternatively, the system may be configured to resume operationin the same state as a previous use (e.g. displaying an image viewed ina previous session), so that the user can seamlessly resume using thesystem. The system may also be configured to launch in the list mode orto launch by displaying the category listing.

After launching in the default mode, processing proceeds to block 704,where the system waits to receive a user command. Processing thenproceeds to decision block 706, where the system determines if a commandhas been received. If a command is not received, the system returns toblock 704 to continue waiting to receive a command.

If a command was received, the system proceeds to decision block 708,where it determines if a mode change command was received. If a modechange command was received, the system proceeds to block 710, where itprocesses the mode change command. A mode change command may include,for example, a command directing the system to change from a list modeto a detail mode or vice versa, to change from a default mode to adetail mode or vice versa, or to change from a default mode to a listmode or vice versa. The command may also direct the system to changefrom the list or detail modes to the mapping mode. The executing stepmay include accessing the data storage component 504 to gather necessarydata or using the network connection component 508 to connect to aremote database. For example, the system may use the network connectioncomponent 508 to connect to a map provider in order to change to themapping mode.

If the received command is not a mode command, the system proceeds todecision block 712, where it determines if the received command was asearch command. If the received command was a search command, the systemproceeds to block 714, where it executes the search. Executing a searchmay include, for example, receiving input search terms or an input textstring. The system may then use a stored index of terms to find imageshaving information (e.g. geographic location data or supplementalinformation) matching the input search terms.

If the received command was not a search command, processing proceeds todecision block 716, where the system determines if an edit command wasreceived. If an edit command was received, the system proceeds to block718, where it processes any user edits. The processing in block 718 mayinclude, for example, displaying an edit interface to enable the user toprovide new values for the supplemental information. The system may alsobe configured to automatically provide some data in response to an editcommand. For example, the system may automatically provide newgeographic location data in response to a command to edit the geographiclocation.

If the received command was not an edit command, the system proceeds todecision block 720, where it determines if a connect command wasreceived. If a connect command was received, the system proceeds toblock 722, where it initiates an outside connection by, for example,initiating a telephone call from the mobile device or sending a selectedimage using an HTML document, MMS, or e-mail.

If the received command was not an connect command, the system proceedsto decision block 724, where it determines if an exit command wasreceived. If an exit command was not received, the system returns toblock 704 to wait for the next user command. If an exit command wasreceived, the process ends. Of course, it will be appreciated that theprocess 700 may be modified to handle additional commands provided bythe system in a similar way.

From the foregoing, it will be appreciated that specific embodiments ofthe application have been described herein for purposes of illustration,but that various modifications may be made without deviating from thespirit and scope of the application. Accordingly, the application is notlimited except as by the appended claims.

1. An apparatus for managing images and associated geographic locationdata in a mobile device and displaying the images and the associatedgeographic location data, the apparatus comprising: a housing having aform factor suitable for handheld use; a display device contained in thehousing; an input device contained in the housing; at least one wirelessnetwork connection component contained in the housing; a locationcomponent contained in the housing and configured to generate geographiclocation data based on a current geographic location of the mobiledevice; a camera component contained in the housing configured togenerate an image; a memory contained in the housing; and a processorcontained in the housing and coupled among the display device, the inputdevice, the at least one wireless network connection component, thelocation component, the camera component, and the memory; wherein theprocessor is configured to execute various components, wherein thecomponents comprise: a location association component configured toreceive the image from the camera component and geographic location databased on the current geographic location of the mobile device from thelocation component and to store an association between the image and thegeographic location data in the memory; a supplemental informationcomponent configured to associate supplemental information with theselected image, wherein the supplemental information includes one ofdescription information, telephone number, category, street address,network address, or audio data; an association display componentconfigured to cause the display device to display the selected image ina first user interface and to display the associated geographicinformation data and portions of the associated supplemental informationin a second user interface; and a map display component configured tocause the display device to display a geographic indicator of theselected image on a map at the associated geographical location and tomove or zoom the map in response to commands received from the inputdevice.
 2. The apparatus of claim 1, wherein the location associationcomponent is configured to store associations between multiple imagesand multiple geographic location data and the map display component isconfigured to cause the display device to display multiple geographicindicators on the map based on the associated multiple geographiclocation data.
 3. The apparatus of claim 1, wherein the locationcomponent is configured to generate the geographic location data usinginformation received from a Global Positioning System (GPS) receiver orusing information indicating proximity to one or more cellular networktowers or wireless hotspots.
 4. The apparatus of claim 1, furthercomprising a microphone component configured to receive audio providedby a user, wherein the supplemental information component is furtherconfigured to associated audio received from the microphone with theselected image.
 5. The apparatus of claim 1, further comprising a searchcomponent configured to cause the display device to display a list ofimages matching an input search term.
 6. The apparatus of claim 1,further comprising a connection component configured to transmit theselected image and the associated geographic location using one of anHTML document, Multimedia Messaging Service (MMS), or e-mail.
 7. Theapparatus of claim 1, wherein the supplemental information component isfurther configured to associate an accuracy index with the selectedimage, wherein the accuracy index provides an indication of the accuracyof the location component determination of the geographic location. 8.The apparatus of claim 1, wherein the input device is touch-sensitive.9. A method for managing images and associated geographic location datain a mobile device having an associated camera and displaying the imagesand the associated geographic location data, the method comprising:receiving multiple images generated by the associated camera; storingthe multiple images in a storage device associated with the mobiledevice; associating descriptive information with individual images ofthe multiple images, wherein associating descriptive informationcomprises: generating, by a location component in the mobile device,geographic location data based on a geographic location of the mobiledevice at the time that the individual image was received; storing anassociation between the geographic location data and the correspondingindividual image; and associating supplemental information with theindividual image, wherein the supplemental information includes one ofdescription information, telephone number, category, street address, anetwork location, or audio data; and displaying a selected image fromthe multiple images, the associated geographic location, and portions ofthe associated supplemental information on a display device associatedwith the mobile device.
 10. The method of claim 9, further comprisingdisplaying a map of a geographic region and displaying indicators of theindividual geographic location data associated with the multiple imageson the map of the geographic region.
 11. The method of claim 9, whereinstoring the multiple images comprises: accessing a network storagecomponent separate from the mobile device; and storing the multipleimages in a location on the network storage component associated withthe mobile device.
 12. The method of claim 9, further comprising:receiving a search command providing one or more search terms; anddisplaying a matching image based on the one or more search terms. 13.The method of claim 9, wherein associating supplemental informationfurther comprises automatically assigning the description information tothe individual image based on a current location of the mobile device ora country name associated with the mobile device.
 14. The method ofclaim 9, further comprising transmitting an individual image and theassociated geographic location using one of an HTML document, MultimediaMessaging Service (MMS), or e-mail.
 15. The method of claim 9, furthercomprising launching a navigation software program based on thegeographic location data associated with the selected image.
 16. Themethod of claim 9, further comprising: receiving a user opinion ratingfrom an input device associated with the mobile device; and associatingthe user opinion rating with an individual image.
 17. The method ofclaim 9, further comprising displaying one or more points of interest onthe map of the geographic region.
 18. The method of claim 9, furthercomprising associating a new geographic location with an individualimage in response to an edit command.
 19. An apparatus for managingimages and associated geographic location data in a mobile device anddisplaying the images and the associated geographic location data, theapparatus comprising: a housing having a form factor suitable forhandheld use; an input means for receiving input from a user; a displaymeans for displaying output data; a memory means for storing data; and aprocessor means for executing one or more components comprising: alocation association component configured to receive an image andgeographic location data associated with a specified geographic locationand to store an association between the image and the geographiclocation data in the memory means; a supplemental information componentconfigured to associate supplemental information with the image, whereinthe supplemental information comprises one of description information,telephone number, category, street address, network address, or audiodata; and an association display component configured to cause thedisplay means to display the one or more of the image, the associatedgeographic information data, and portions of the associated supplementalinformation.
 20. The apparatus of claim 19, further comprising alocation means for generating geographic location data associated withthe image.
 21. The apparatus of claim 19, further comprising an imagegenerating means for generating the image.
 22. The apparatus of claim19, wherein the association display component is configured to cause thedisplay means to display the image in a first user interface and todisplay the associated geographic information data and portions of theassociated supplemental information in a second user interface.
 23. Theapparatus of claim 19, wherein the processor means further executes amap display component configured to cause the display means to display ageographic indicator of the image on a map at the associatedgeographical location and to move or zoom the map in response tocommands received from the input means.
 24. The apparatus of claim 19,wherein the description information is automatically generated based onthe current location or on a country name associated with the mobiletelephone.
 25. The apparatus of claim 19, further comprising a means forreceiving audio data from a user, wherein the supplemental informationcomponent is further configured to associate the received audio with theimage.
 26. The apparatus of claim 19, wherein the supplementalinformation component is further configured to receive a user opinionrating from the input means and associate the user opinion rating withthe image.
 27. The apparatus of claim 19, further comprising a mobilenetwork connection means for connection to a mobile data network,wherein the processor means further executes a connection componentconfigured to initiate a telephone call to a telephone number present inthe supplemental information through the mobile network connectionmeans.